//手写Promise 测试
const MyPromise = require('./MyPromise');
const { reject } = require('./MyPromise');

let promise = new MyPromise((resolve, reject) => {
    setTimeout(() => {
        // resolve('成功');
        reject('失败');
    }, 100);
    // reject('失败');
    // resolve('成功');
});
// promise.then(res=>{
//     console.log('res:',res);
// },err=>{
//     console.log('err:',err);
// });

// promise.then(res=>{
//     console.log('2 res:',res);
// },err=>{
//     console.log('2 err:',err);
// });

// promise.then(res=>{
//     console.log('3 res:',res);
// },err=>{
//     console.log('3 err:',err);
// });

// promise.then(res => {
//     console.log(res);
//     return 1000;
// }, err => {
//     console.log(err);
// }).then(res=>{
//     console.log(res);
//     return new MyPromise((resolve,reject)=>{
//         setTimeout(() => {
//             resolve(res+1200);
//         }, 200);
//     });
// },err=>{}).then(res => {
//     console.log(res);
// }, err => {
//     console.log(err);
// });

// let p = promise.then(res=>{
//     console.log(res);
//     return 100;
// }).then().then(res=>{
//     console.log(res);
// });

// promise.then(res=>{
//     console.log(res);
// }).catch(err=>{
//     console.log(err);
// })
let p1 = function(){
    return new MyPromise((resolve,reject)=>{
        resolve('p1');
    });
}
let p2 = function(){
    return new MyPromise((resolve,reject)=>{
        setTimeout(() => {
            resolve('p2')
        }, 1000);
    });
}
MyPromise.all(['1','a','c',p1(),'d']).then(result=>{
    console.log('then');
    console.log(result);
});